Computing systems, such as, for example a system-on-a-chip (SoC) or other types of platforms, typically have one or more processors or cores as well as other operational blocks or components which may include device controllers, graphics processors, audio processors, communication modules, etc. These operational blocks are often capable of executing multiple workloads in a manner similar to that in which a processor may execute multiple threads. Security issues can arise in this situation. An untrusted workload executing on an operational block can inadvertently or maliciously interfere with the execution of another workload on that same operational block (i.e., intra-block interference). For example, different workloads executing on a media engine (graphics, imaging, video, etc.) may potentially interfere with each other (whether maliciously or inadvertently), thereby disrupting the normal flow or desired operation of the workloads.
Although access control mechanisms may be available for inter-block transactions and/or block-to-memory transactions, these techniques do not address the problem of intra-block interference which is becoming increasingly important as the industry moves further towards heterogeneous computing and parallel workload execution.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.